package com.zhuiyun.project.api.plan.fitnessAction.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zhuiyun.project.api.equipment.model.EquipmentModel;
import com.zhuiyun.project.api.plan.fitnessAction.entity.FitnessAction;
import com.zhuiyun.project.api.plan.fitnessAction.model.FitnessActionModel;
import com.zhuiyun.project.api.plan.fitnessAction.model.FitnessActionsModel;
import com.zhuiyun.project.api.plan.fitnessPurpose.entity.FitnessPurpose;
import com.zhuiyun.project.api.plan.fitnessType.entity.FitnessType;
import com.zhuiyun.project.utils.pageUtil.PageRequest;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

@Mapper
public interface FitnessActionMapper extends BaseMapper<FitnessAction> {
    /**
     * @Author 杨珅
     * @Description todo 健身动作查询
     * @Date 2023/11/2 9:28
     * @Return  * @param null
     */
    public List<FitnessActionModel> selectAll(PageRequest pageRequest, String fitnessActionName,String venueUniqueIdentifier,Integer fitnessPurposeId);
    /**
     * @Author 杨珅
     * @Description todo 根据健身部位名和目的查询动作
     * @Date 2023/11/2 9:28
     * @Return  * @param null
     */
    public List<FitnessActionModel> queryAll(String venueUniqueIdentifier,Integer fitnessPurposeId,String fitnessTypeName);
    /**
     * @Author 杨珅
     * @Description todo 根据健身部位id和目的查询动作
     * @Date 2023/11/2 9:28
     * @Return  * @param null
     */
    public List<FitnessActionModel> queryByType(String venueUniqueIdentifier,Integer fitnessPurposeId);
    /**
     * @Author 杨珅
     * @Description todo 根据健身部位id和目的查询动作（分页版）
     * @Date 2023/11/2 9:28
     * @Return  * @param null
     */
    public List<FitnessActionsModel> queryByTypes(PageRequest pageRequest, String venueUniqueIdentifier, Integer fitnessPurposeId, Integer fitnessTypeId);
    /**
     * @Author 杨珅
     * @Description todo 健身类型查询
     * @Date 2023/11/2 9:28
     * @Return  * @param null
     */
    public List<FitnessType> selectTypeAll(PageRequest pageRequest,Integer id);
    /**
     * @Author 杨珅
     * @Description todo 健身目的查询
     * @Date 2023/11/2 9:28
     * @Return  * @param null
     */
    public List<FitnessPurpose> selectPurposeAll(String venueUniqueIdentifier);
    /**
     * @Author 杨珅
     * @Description todo 健身器材查询
     * @Date 2023/11/2 9:28
     * @Return  * @param null
     */
    public List<EquipmentModel> selectEquipmentAll(String venueUniqueIdentifier);
    /**
     * @Author 杨珅
     * @Description todo 健身动作新增
     * @Date 2023/11/2 9:28
     * @Return  * @param null
     */
    public int insertFitnessAction(FitnessActionModel fitnessAction);
    /**
     * @Author 杨珅
     * @Description todo 健身图片修改
     * @Date 2023/11/2 9:28
     * @Return  * @param null
     */
    public int updateFitnessAction(FitnessActionModel fitnessAction);
    /**
     * @Author 杨珅
     * @Description todo 健身动作删除
     * @Date 2023/11/2 9:28
     * @Return  * @param null
     */
    public int deleteFitnessAction(FitnessActionModel fitnessAction);


    @Select("select * from fitness_action where del_flag = 0")
    public List<FitnessAction> queryAlll();
}
